Data Source

Source: FEMA, National Risk Index, October 2020 release.

The Data Used here

The National Risk Index is intended to provide a view of the natural hazard risk within communities. While FEMA includes information on 18 natural hazards, we focus on six – coastal flooding, drought, heat wave, hurricane, riverine flooding, and strong wind – pulling measures on

  • frequency (measuring the number of events or event days during a reporting period and the estimated annualized frequency or probability),
  • exposure (measuring the building value, people, or agricultural value exposed to the natural hazard event), and
  • historic loss ratio (measuring the proportion of building value, people, or agricultural value that has been historically impacted by the natural hazard).

The NRI uses data on natural hazards from multiple sources and estimates natural hazard frequency, exposure, and historic loss at the census tract level.

To learn more, see:

Variable descriptions

glimpse(nri)
## Rows: 50
## Columns: 76
## $ OID_       <dbl> 47346, 47471, 48413, 48503, 48508, 48509, 48904, 48905, 489…
## $ NRI_ID     <chr> "T51065020101", "T51065020300", "T51003010201", "T510790301…
## $ STATE      <chr> "Virginia", "Virginia", "Virginia", "Virginia", "Virginia",…
## $ STATEABBRV <chr> "VA", "VA", "VA", "VA", "VA", "VA", "VA", "VA", "VA", "VA",…
## $ STATEFIPS  <dbl> 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,…
## $ COUNTY     <chr> "Fluvanna", "Fluvanna", "Albemarle", "Greene", "Albemarle",…
## $ COUNTYTYPE <chr> "County", "County", "County", "County", "County", "County",…
## $ COUNTYFIPS <chr> "065", "065", "003", "079", "003", "003", "003", "003", "07…
## $ STCOFIPS   <dbl> 51065, 51065, 51003, 51079, 51003, 51003, 51003, 51003, 510…
## $ TRACT      <chr> "020101", "020300", "010201", "030102", "010800", "011000",…
## $ TRACTFIPS  <dbl> 51065020101, 51065020300, 51003010201, 51079030102, 5100301…
## $ POPULATION <dbl> 5571, 5311, 4664, 5393, 5325, 6292, 3765, 3738, 9145, 9341,…
## $ BUILDVALUE <dbl> 551401000, 530703000, 589443000, 569304000, 707799000, 1265…
## $ AGRIVALUE  <dbl> 1000124.0179, 2454071.5733, 998608.4291, 2592134.2808, 1253…
## $ AREA       <dbl> 43.2172270, 101.6045726, 27.0136979, 63.8718600, 5.3042504,…
## $ CFLD_EVNTS <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ CFLD_AFREQ <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ CFLD_EXPB  <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ CFLD_EXPP  <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ CFLD_EXPPE <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ CFLD_EXPT  <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ CFLD_HLRB  <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ CFLD_HLRP  <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ CFLD_HLRR  <chr> "Not Applicable", "Not Applicable", "Not Applicable", "Not …
## $ DRGT_EVNTS <dbl> 126, 154, 70, 70, 77, 77, 91, 91, 63, 105, 154, 70, 98, 126…
## $ DRGT_AFREQ <dbl> 7.000000, 8.555556, 3.888889, 3.888889, 4.277778, 4.277778,…
## $ DRGT_EXPB  <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ DRGT_EXPP  <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ DRGT_EXPPE <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ DRGT_EXPA  <dbl> 611186.8998, 2096304.6178, 898747.5862, 2592134.2808, 12536…
## $ DRGT_EXPT  <dbl> 611186.8998, 2096304.6178, 898747.5862, 2592134.2808, 12536…
## $ DRGT_HLRB  <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ DRGT_HLRP  <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ DRGT_HLRA  <dbl> 0.003197017, 0.003197017, 0.003222722, 0.004763245, 0.00322…
## $ DRGT_HLRR  <chr> "Very High", "Very High", "Very High", "Very High", "Very H…
## $ HWAV_EVNTS <dbl> 8, 8, 6, 6, 6, 6, 6, 6, 12, 8, 5, 6, 6, 8, 5, 12, 6, 6, 6, …
## $ HWAV_AFREQ <dbl> 0.6589786, 0.6589786, 0.4942339, 0.3947789, 0.4942339, 0.49…
## $ HWAV_EXPB  <dbl> 551400513, 530702957, 589442851, 546678926, 707799000, 1265…
## $ HWAV_EXPP  <dbl> 5570.997, 5311.000, 4663.998, 5231.000, 5325.000, 6291.996,…
## $ HWAV_EXPPE <dbl> 41225376461, 39301398589, 34513586247, 38709396581, 3940500…
## $ HWAV_EXPT  <dbl> 41776776974, 39832101546, 35103029097, 39256075507, 4011279…
## $ HWAV_HLRB  <dbl> 1.169e-12, 1.169e-12, 1.169e-12, 1.169e-12, 1.169e-12, 1.16…
## $ HWAV_HLRP  <dbl> 3.971792e-07, 3.971792e-07, 1.058701e-07, 5.350162e-07, 1.0…
## $ HWAV_HLRR  <chr> "Very Low", "Very Low", "Very Low", "Relatively Low", "Very…
## $ HRCN_EVNTS <dbl> 6, 7, 9, 9, 9, 9, 9, 9, 9, 6, 8, 9, 9, 5, 8, 9, 8, 8, 8, 4,…
## $ HRCN_AFREQ <dbl> 0.06582491, 0.06589680, 0.07046340, 0.07180899, 0.06582491,…
## $ HRCN_EXPB  <dbl> 550733910, 530380270, 589442851, 569303923, 704074505, 1265…
## $ HRCN_EXPP  <dbl> 5564.073, 5307.788, 4663.998, 5393.000, 5312.928, 6291.648,…
## $ HRCN_EXPPE <dbl> 41174136929, 39277633809, 34513586247, 39908196307, 3931566…
## $ HRCN_EXPT  <dbl> 41724870839, 39808014079, 35103029097, 40477500230, 4001973…
## $ HRCN_HLRB  <dbl> 0.0001627591, 0.0001627591, 0.0001627591, 0.0001627591, 0.0…
## $ HRCN_HLRP  <dbl> 1.432476e-06, 1.432476e-06, 1.432476e-06, 1.599039e-06, 1.4…
## $ HRCN_HLRR  <chr> "Very Low", "Very Low", "Very Low", "Very Low", "Very Low",…
## $ RFLD_EVNTS <dbl> 3, 3, 59, 37, 59, 59, 59, 59, 37, 3, 44, 59, 59, 7, 44, 59,…
## $ RFLD_AFREQ <dbl> 0.1363636, 0.1363636, 2.6818182, 1.6818182, 2.6818182, 2.68…
## $ RFLD_EXPB  <dbl> 1649205.9, 3600534.0, 14450941.1, 3620317.5, 699096.0, 2420…
## $ RFLD_EXPP  <dbl> 11.836098, 35.576304, 102.666978, 36.554255, 5.629246, 120.…
## $ RFLD_EXPPE <dbl> 87587125, 263264651, 759735634, 270501484, 41656421, 893340…
## $ RFLD_EXPA  <dbl> 50281.8794, 168074.2006, 44928.6765, 85771.0354, 488.6131, …
## $ RFLD_EXPT  <dbl> 89286613, 267033259, 774231504, 274207572, 42356006, 917627…
## $ RFLD_HLRB  <dbl> 2.251579e-04, 2.251579e-04, 4.212615e-05, 2.905738e-03, 4.2…
## $ RFLD_HLRP  <dbl> 4.003475e-05, 4.003475e-05, 9.587986e-06, 4.040050e-06, 9.5…
## $ RFLD_HLRA  <dbl> 0.009312590, 0.009312590, 0.011180959, 0.009741927, 0.01118…
## $ RFLD_HLRR  <chr> "Very Low", "Very Low", "Very Low", "Very Low", "Very Low",…
## $ SWND_EVNTS <dbl> 369, 368, 390, 396, 368, 369, 369, 368, 397, 369, 363, 369,…
## $ SWND_AFREQ <dbl> 11.53125, 11.52825, 12.20950, 12.40625, 11.53125, 11.53125,…
## $ SWND_EXPB  <dbl> 551401000, 530703000, 589443000, 569304000, 707799000, 1265…
## $ SWND_EXPP  <dbl> 5571, 5311, 4664, 5393, 5325, 6292, 3765, 3738, 9145, 9341,…
## $ SWND_EXPPE <dbl> 41225400000, 39301400000, 34513600000, 39908200000, 3940500…
## $ SWND_EXPA  <dbl> 1000124.0179, 2454071.5733, 998608.4291, 2592134.2808, 1253…
## $ SWND_EXPT  <dbl> 41777801124, 39834557072, 35104041608, 40480096134, 4011292…
## $ SWND_HLRB  <dbl> 8.246272e-06, 8.246272e-06, 2.383243e-06, 7.876500e-06, 2.3…
## $ SWND_HLRP  <dbl> 2.889675e-07, 2.889675e-07, 3.395608e-07, 2.939429e-07, 3.3…
## $ SWND_HLRA  <dbl> 0.0001960432, 0.0001960432, 0.0003132078, 0.0002843516, 0.0…
## $ SWND_HLRR  <chr> "Very Low", "Very Low", "Very Low", "Very Low", "Very Low",…
## $ NRI_VER    <chr> "October 2020", "October 2020", "October 2020", "October 20…

Observations are census tract estimates of…

  • Population, building value, agricultural value, and area within tract
  • Natural hazards include: CFLD - coastal flooding, DRGT - drought, HWAV - heat wave, HRCN - hurricane, RFLD - riverine flooding, SWND - strong wind
  • Hazard measures include: EVNTS - number of events in recording period, AFREQ - annualized frequency (# events/# years in recording period)
  • Exposure measures include: EXPB - building value exposure, EXPP - population exposure, EXPE - population equivalence exposure, EXPA - agricultural value exposure
  • Historic loss ratio measures include: HLRB - historic loss ratio for building value, HLRA - historicla loss ratio for agriculture, HLRP - historical loss ratio for population, HLRR - historic loss ratio overall

Summaries

5-number summaries of (non-missing) numeric variables (remove tract identifiers)

nri %>% select(-c(OID_:STATEFIPS, COUNTYTYPE:TRACTFIPS, NRI_VER)) %>% 
  select(where(~is.numeric(.x) && !is.na(.x))) %>% 
  as.data.frame() %>% 
  stargazer(., type = "text", title = "Summary Statistics", digits = 0,
            summary.stat = c("mean", "sd", "min", "median", "max"))
## 
## Summary Statistics
## =====================================================================================
## Statistic       Mean         St. Dev.         Min           Median          Max      
## -------------------------------------------------------------------------------------
## POPULATION     4,694          1,741          1,900          4,382          9,341     
## BUILDVALUE  600,914,960    274,394,213    210,947,000    559,413,000   1,352,245,000 
## AGRIVALUE    1,701,520      2,542,400          0           931,421       13,226,654  
## AREA             43             53             0              18            195      
## DRGT_EVNTS       97             24             63             91            161      
## DRGT_AFREQ       5              1              4             5.1             9       
## DRGT_EXPA    1,372,734      2,012,315          0           596,796       8,841,211   
## DRGT_EXPT    1,372,734      2,012,315          0           596,796       8,841,211   
## DRGT_HLRA        0              0              0              0              0       
## HWAV_EVNTS       7              2              5              6              12      
## HWAV_AFREQ       1              0              0              0              1       
## HWAV_EXPB   594,263,002    268,213,179    210,947,000    549,039,719   1,352,244,990 
## HWAV_EXPP      4,678          1,740          1,900          4,351          9,341     
## HWAV_EXPPE 34,615,220,205 12,878,768,794 14,060,000,000 32,197,399,778 69,123,399,489
## HWAV_EXPT  35,209,483,206 13,089,228,055 14,270,947,000 32,668,421,302 70,475,644,479
## HWAV_HLRB        0              0              0              0              0       
## HWAV_HLRP        0              0              0              0              0       
## HRCN_EVNTS       8              1              4              9              9       
## HRCN_AFREQ       0              0              0              0              0       
## HRCN_EXPB   599,680,668    274,451,546    210,947,000    559,079,443   1,349,737,674 
## HRCN_EXPP      4,689          1,744          1,900          4,382          9,321     
## HRCN_EXPPE 34,695,606,309 12,903,118,962 14,060,000,000 32,426,797,882 68,974,004,894
## HRCN_EXPT  35,295,286,977 13,115,107,535 14,270,947,000 32,941,525,397 70,323,742,568
## HRCN_HLRB        0              0              0              0              0       
## HRCN_HLRP        0              0              0              0              0       
## RFLD_EVNTS       30             25             0              15             59      
## RFLD_AFREQ       1              1              0              1              3       
## RFLD_EXPB    13,388,752     13,835,303         0          8,427,838      54,305,747  
## RFLD_EXPP        89             93             0              62            416      
## RFLD_EXPPE  661,263,174    690,685,745         0         460,988,960   3,081,542,905 
## RFLD_EXPA     153,755        313,700           0            38,504       1,708,403   
## RFLD_EXPT   674,805,682    703,954,174         0         469,495,154   3,137,557,055 
## RFLD_HLRB        0              0              0              0              0       
## RFLD_HLRP        0              0              0              0              0       
## RFLD_HLRA        0              0              0              0              0       
## SWND_EVNTS      369             9             354            368            397      
## SWND_AFREQ       12             0              11             12             12      
## SWND_EXPB   600,914,960    274,394,213    210,947,000    559,413,000   1,352,245,000 
## SWND_EXPP      4,694          1,741          1,900          4,382          9,341     
## SWND_EXPPE 34,737,376,000 12,882,414,388 14,060,000,000 32,426,800,000 69,123,400,000
## SWND_EXPA    1,701,520      2,542,400          0           931,421       13,226,654  
## SWND_EXPT  35,339,992,480 13,094,503,181 14,270,950,433 32,954,976,874 70,475,710,779
## SWND_HLRB        0              0              0              0              0       
## SWND_HLRP        0              0              0              0              0       
## SWND_HLRA        0              0              0              0              0       
## -------------------------------------------------------------------------------------

Summaries of (non-missing) character variables (remove tract identifiers)

nri %>% select(-c(OID_:STATEFIPS, COUNTYTYPE:TRACTFIPS, NRI_VER)) %>% 
  select(where (~is.character(.x))) %>% map(tabyl)
## $COUNTY
##          .x[[i]]  n percent
##        Albemarle 22    0.44
##  Charlottesville 12    0.24
##         Fluvanna  4    0.08
##           Greene  3    0.06
##           Louisa  6    0.12
##           Nelson  3    0.06
## 
## $CFLD_HLRR
##         .x[[i]]  n percent
##  Not Applicable 50       1
## 
## $DRGT_HLRR
##              .x[[i]]  n percent
##            No Rating 12    0.24
##  Relatively Moderate  9    0.18
##            Very High 29    0.58
## 
## $HWAV_HLRR
##         .x[[i]]  n percent
##  Relatively Low  3    0.06
##        Very Low 47    0.94
## 
## $HRCN_HLRR
##   .x[[i]]  n percent
##  Very Low 50       1
## 
## $RFLD_HLRR
##    .x[[i]]  n percent
##  No Rating  8    0.16
##   Very Low 42    0.84
## 
## $SWND_HLRR
##   .x[[i]]  n percent
##  Very Low 50       1

Visual distribution

Frequency distribution across tracts:

Tract assets

nri %>% select(TRACTFIPS:AREA) %>% 
  pivot_longer(-TRACTFIPS, names_to = "measure", values_to = "value") %>% 
  ggplot(aes(x = value, fill = measure)) + 
  scale_fill_viridis(option = "plasma", discrete = TRUE, guide = FALSE) +
  geom_histogram() + 
  facet_wrap(~measure, scales = "free")

Tract hazards: Drought

nri %>% select(contains("DRGT"), TRACTFIPS) %>% select(-contains("HLRR")) %>% 
  pivot_longer(-TRACTFIPS, names_to = "measure", values_to = "value") %>% 
  ggplot(aes(x = value, fill = measure)) + 
  geom_histogram() + 
  scale_fill_viridis(option = "plasma", discrete = TRUE, guide = FALSE) +
  facet_wrap(~measure, scales = "free")

Tract hazards: Heat Wave

nri %>% select(contains("HWAV"), TRACTFIPS) %>% select(-contains("HLRR")) %>% 
  pivot_longer(-TRACTFIPS, names_to = "measure", values_to = "value") %>% 
  ggplot(aes(x = value, fill = measure)) + 
  geom_histogram() + 
  scale_fill_viridis(option = "plasma", discrete = TRUE, guide = FALSE) +
  facet_wrap(~measure, scales = "free")

Tract hazards: Hurricane

nri %>% select(contains("HRCN"), TRACTFIPS) %>% select(-contains("HLRR")) %>% 
  pivot_longer(-TRACTFIPS, names_to = "measure", values_to = "value") %>% 
  ggplot(aes(x = value, fill = measure)) + 
  geom_histogram() + 
  scale_fill_viridis(option = "plasma", discrete = TRUE, guide = FALSE) +
  facet_wrap(~measure, scales = "free")

Tract hazards: Riverine Flooding

nri %>% select(contains("RFLD"), TRACTFIPS) %>% select(-contains("HLRR")) %>% 
  pivot_longer(-TRACTFIPS, names_to = "measure", values_to = "value") %>% 
  ggplot(aes(x = value, fill = measure)) + 
  geom_histogram() + 
  scale_fill_viridis(option = "plasma", discrete = TRUE, guide = FALSE) +
  facet_wrap(~measure, scales = "free")

Tract hazards: Strong Wind

nri %>% select(contains("SWND"), TRACTFIPS) %>% select(-contains("HLRR")) %>% 
  pivot_longer(-TRACTFIPS, names_to = "measure", values_to = "value") %>% 
  ggplot(aes(x = value, fill = measure)) + 
  geom_histogram() + 
  scale_fill_viridis(option = "plasma", discrete = TRUE, guide = FALSE) +
  facet_wrap(~measure, scales = "free")

Maps

Variation across tracts

Droughts

# DRGT
pal <- colorNumeric("plasma", reverse = TRUE, domain = cville_nri$DRGT_AFREQ) # viridis

leaflet() %>% 
  addProviderTiles("CartoDB.Positron") %>% 
  addPolygons(data = cville_nri,
              fillColor = ~pal(DRGT_AFREQ),
              weight = 1,
              opacity = 1,
              color = "white", 
              fillOpacity = 0.6,
              highlight = highlightOptions(
                weight = 2,
                fillOpacity = 0.8,
                bringToFront = T
              ),
              popup = paste0("Tract Number: ", cville_nri$NAME, "<br>",
                             "Ann. Freq.: ", round(cville_nri$DRGT_AFREQ, 2))
  ) %>% 
  addLegend("bottomright", pal = pal, values = cville_nri$DRGT_AFREQ, 
            title = "Drought-#/year", opacity = 0.7)

Heat Wave

# HWAV
pal <- colorNumeric("plasma", reverse = TRUE, domain = cville_nri$HWAV_AFREQ) # viridis

leaflet() %>% 
  addProviderTiles("CartoDB.Positron") %>% 
  addPolygons(data = cville_nri,
              fillColor = ~pal(HWAV_AFREQ),
              weight = 1,
              opacity = 1,
              color = "white", 
              fillOpacity = 0.6,
              highlight = highlightOptions(
                weight = 2,
                fillOpacity = 0.8,
                bringToFront = T
              ),
              popup = paste0("Tract Number: ", cville_nri$NAME, "<br>",
                             "Ann. Freq.: ", round(cville_nri$HWAV_AFREQ, 2))
  ) %>% 
  addLegend("bottomright", pal = pal, values = cville_nri$HWAV_AFREQ, 
            title = "Heat Wave-#/year", opacity = 0.7)

Hurricane

# HRCN
pal <- colorNumeric("plasma", reverse = TRUE, domain = cville_nri$HRCN_AFREQ) # viridis

leaflet() %>% 
  addProviderTiles("CartoDB.Positron") %>% 
  addPolygons(data = cville_nri,
              fillColor = ~pal(HRCN_AFREQ),
              weight = 1,
              opacity = 1,
              color = "white", 
              fillOpacity = 0.6,
              highlight = highlightOptions(
                weight = 2,
                fillOpacity = 0.8,
                bringToFront = T
              ),
              popup = paste0("Tract Number: ", cville_nri$NAME, "<br>",
                             "Ann. Freq.: ", round(cville_nri$HRCN_AFREQ, 2))
  ) %>% 
  addLegend("bottomright", pal = pal, values = cville_nri$HRCN_AFREQ, 
            title = "Hurricane-#/year", opacity = 0.7)

Riverine Flooding

# RFLD
pal <- colorNumeric("plasma", reverse = TRUE, domain = cville_nri$RFLD_AFREQ) # viridis

leaflet() %>% 
  addProviderTiles("CartoDB.Positron") %>% 
  addPolygons(data = cville_nri,
              fillColor = ~pal(RFLD_AFREQ),
              weight = 1,
              opacity = 1,
              color = "white", 
              fillOpacity = 0.6,
              highlight = highlightOptions(
                weight = 2,
                fillOpacity = 0.8,
                bringToFront = T
              ),
              popup = paste0("Tract Number: ", cville_nri$NAME, "<br>",
                             "Ann. Freq.: ", round(cville_nri$RFLD_AFREQ, 2))
  ) %>% 
  addLegend("bottomright", pal = pal, values = cville_nri$RFLD_AFREQ, 
            title = "Riverine Flooding-#/year", opacity = 0.7)

Strong Wind

# SWND
pal <- colorNumeric("plasma", reverse = TRUE, domain = cville_nri$SWND_AFREQ) # viridis

leaflet() %>% 
  addProviderTiles("CartoDB.Positron") %>% 
  addPolygons(data = cville_nri,
              fillColor = ~pal(SWND_AFREQ),
              weight = 1,
              opacity = 1,
              color = "white", 
              fillOpacity = 0.6,
              highlight = highlightOptions(
                weight = 2,
                fillOpacity = 0.8,
                bringToFront = T
              ),
              popup = paste0("Tract Number: ", cville_nri$NAME, "<br>",
                             "Ann. Freq.: ", round(cville_nri$SWND_AFREQ, 2))
  ) %>% 
  addLegend("bottomright", pal = pal, values = cville_nri$SWND_AFREQ, 
            title = "Strong Wind-#/year", opacity = 0.7)

Nota Bene

  • Coastal flooding not relevant for this region (included for consistency with Eastern Shore work).
  • Most hazard overall ratings are very low or no ratings, except for drought; relative to larger national variation, these do not represent high risks.
  • Several hazard rates are dominated by regional effects, with little variation within the region.